package com.wzw.springboot.principle.use.websock.first;

import javax.websocket.*;
import java.io.IOException;

/**
 * @author Wangzhiwen
 */
// @Component
// @ServerEndpoint("/socket1")
public class WebSocketEndpoint {

    /**
     * 打开链接
     *
     * @param session 会话
     */
    @OnOpen
    public void open(Session session) {
        String sessionId = session.getId();
        System.out.println("连接成功: " + sessionId);
    }

    /**
     * 关闭链接
     *
     * @param session 会话
     */
    @OnClose
    public void close(Session session) {
        try {
            if (session.isOpen()) {
                session.close();
            }
        } catch (IOException e) {
            // 静默
        }
        System.out.println("连接关闭");
    }

    /**
     * 接受到的消息
     *
     * @param text 消息内容
     * @return String
     */
    @OnMessage
    public String message(String text) {
        System.out.println("收到客户端的消息: " + text);
        return null;
    }

    /**
     * 发生错误时
     *
     * @param session   会话
     * @param throwable 异常
     */
    @OnError
    public void error(Session session, Throwable throwable) {

    }
}
